package com.zmm.member.service;

import com.zmm.member.model.Member;
import com.zmm.member.vo.MemberVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description:
 * @Name MemberService
 * @Author Zebulon
 * @Date By 2021-06-21 21:50:38
 */
public interface MemberService {

    /**
     * 业务接口 - 获取用户信息
     * @description:
     * @author: Zebulon
     * @date: 2021-06-21 21:55:20
     * @return: java.util.List<com.zmm.member.model.Member>
     **/
    List<Member> findMemberInfo();

    /**
     * 业务接口 - 添加用户
     * @description:
     * @author: Zebulon
     * @date: 2021-06-22 20:47:46
     * @param member:
     * @return: boolean
     **/
    boolean addMember(Member member);

    /**
     * 业务接口 - 更新用户信息
     * @description:
     * @author: Zebulon
     * @date: 2021-06-22 21:33:24
     * @param member:
     * @return: boolean
     **/
    boolean modifyMember(Member member);

    /**
     * 业务接口 - 根据 用户 ID 查询用户信息
     * @description:
     * @author: Zebulon
     * @date: 2021-06-22 21:21:35
     * @param id:
     * @return: com.zmm.member.model.Member
     **/
    Member findOneMemberById(@Param("id") Integer id);

    /**
     * 根据 MemberVo 查询用户信息
     * @description:
     * @author: Zebulon
     * @date: 2021-06-23 20:58:44
     * @param memberVo: 
     * @return: java.util.List<com.zmm.member.model.Member>
     **/
    List<Member> queryMemberByVo(MemberVo memberVo);


    /**
     * 根据 用户Id 删除 用户 -> 改变状态
     * @description:
     * @author: Zebulon
     * @date: 2021-06-23 21:27:29
     * @param id:
     * @return: void
     **/
    void deleteMemberById(Integer id);
}
